1 SA609

SA609 <- readRDS("data/SA609.Rdata")
SA000 <- readRDS("data/SA000.Rdata")
SA001 <- readRDS("data/SA001.Rdata")

cells_SA609 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA609$|SA000|SA001"))

haps <- bind_rows(SA609$haplotypes, SA000$haplotypes, SA001$haplotypes) %>%
  filter(cell_id %in% cells_SA609$cell_id)

CN <- bind_rows(SA609$CN, SA000$CN, SA001$CN) %>%
  filter(cell_id %in% cells_SA609$cell_id)

cnbaf <- combineBAFCN(haps, CN, phasing = "distribution")
ascn <- callAlleleSpecificCNHMM(cnbaf, ncores = 20)
library(ape)
source("R/tree_utils.R")

cells_SA609 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA609$"))

ascn_SA609 <- filter(ascn, cell_id %in% cells_SA609$cell_id)
tree <- read.tree("metadata/fitness_material/trees/subset/SA609_only.newick")
tree <- removeleafloci(tree)

clonesSA609 <- cell_order_from_tree(tree, cells_SA609,
                                  cells = unique(ascn_SA609$cell_id))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA609$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA609_1 <- plotHeatmap(ascn_SA609, 
            clusters = clonesSA609, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state")

heatmap_SA609_2 <- plotHeatmap(ascn_SA609, 
            clusters = clonesSA609, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state_phase")

1.1 Heatmaps

1.1.1 CN state

heatmap_SA609_1

1.1.2 ASCN state

heatmap_SA609_2

1.2 BAF plots per clone

CNclones <- ascn_SA609 %>%
  left_join(., select(cells_SA609, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

1.2.1 Clone A

1.2.2 Clone B

1.2.3 Clone C

1.2.4 Clone D

1.2.5 Clone E

1.2.6 Clone F

1.2.7 Clone G

1.2.8 Clone H

1.2.9 Clone Un

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA609.csv")

2 SA000

library(ape)
source("R/tree_utils.R")

cells_SA000 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA000$"))

ascn_SA000 <- filter(ascn, cell_id %in% cells_SA000$cell_id)
tree <- read.tree("metadata/fitness_material/trees/SA000_tree.newick")
tree <- removeleafloci(tree)

clonesSA000 <- cell_order_from_tree(tree, cells_SA000,
                                  cells = unique(ascn_SA000$cell_id))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA000$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA000_1 <- plotHeatmap(ascn_SA000, 
            clusters = clonesSA000, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state")

heatmap_SA000_2 <- plotHeatmap(ascn_SA000, 
            clusters = clonesSA000, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state_phase")

2.1 Heatmaps

2.1.1 CN state

heatmap_SA000_1

2.1.2 ASCN state

heatmap_SA000_2

2.2 BAF plots per clone

CNclones <- ascn_SA000 %>%
  left_join(., select(cells_SA000, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

2.2.1 Clone A

2.2.2 Clone B

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA000.csv")

3 SA001

library(ape)
source("R/tree_utils.R")

cells_SA001 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA001$"))

ascn_SA001 <- filter(ascn, cell_id %in% cells_SA001$cell_id)
#tree <- read.tree("metadata/fitness_material/trees/SA000_tree.newick")
#tree <- removeleafloci(tree)

# clonesSA001 <- cell_order_from_tree(tree, cells_SA001,
#                                   cells = unique(ascn_SA001$cell_id))
clonesSA001 <- cells_SA001 %>% filter(cell_id %in% unique(ascn_SA001$cell_id))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA001$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA001_1 <- plotHeatmap(ascn_SA001, 
            clusters = clonesSA001, 
            plottree = F,
            reorderclusters = T,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state")

heatmap_SA001_2 <- plotHeatmap(ascn_SA001, 
            clusters = clonesSA001, 
            plottree = F,
            reorderclusters = T,
            spacer_cols = 15, 
            clone_pal = clone_pal,
            plotcol = "state_phase")

3.1 Heatmaps

3.1.1 CN state

heatmap_SA001_1

3.1.2 ASCN state

heatmap_SA001_2

3.2 BAF plots per clone

CNclones <- ascn_SA001 %>%
  left_join(., select(cells_SA001, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

3.2.1 Clone A

3.2.2 Clone B

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA001.csv")

4 SA532

SA532 <- readRDS("data/SA532.Rdata")

cells_SA532 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA532"))

haps <- SA532$haplotypes %>%
  filter(cell_id %in% cells_SA532$cell_id)

CN <- SA532$CN %>%
  filter(cell_id %in% cells_SA532$cell_id)

cnbaf <- combineBAFCN(haps, CN, phasing = "distribution")
ascn <- callAlleleSpecificCNHMM(cnbaf, ncores = 20)
library(ape)
source("R/tree_utils.R")
tree <- read.tree("metadata/fitness_material/trees/SA532_tree.newick")
tree <- removeleafloci(tree)

clonesSA532 <- cell_order_from_tree(tree, cells_SA532,
                                  cells = unique(ascn$cell_id))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA532$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA532_1 <- plotHeatmap(ascn, 
            clusters = clonesSA532, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state",
            clone_pal = clone_pal)

heatmap_SA532_2 <- plotHeatmap(ascn, 
            clusters = clonesSA532, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state_phase",
            clone_pal = clone_pal)

4.1 Heatmaps

4.1.1 CN state

heatmap_SA532_1

4.1.2 ASCN state

heatmap_SA532_2

4.2 BAF plots per clone

CNclones <- ascn %>%
  left_join(., select(cells_SA532, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

4.2.1 Clone A

4.2.2 Clone B

4.2.3 Clone C

4.2.4 Clone D

4.2.5 Clone Un

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA532.csv")

5 SA906a

SA906a <- readRDS("data/SA906a.Rdata")
SA906b <- readRDS("data/SA906b.Rdata")

#cnbaf <- combineBAFCN(bind_rows(SA906a$haplotypes, SA906b$haplotypes), bind_rows(SA906a$CN, SA906b$CN), phasing = "x")
cnbaf <- combineBAFCN(bind_rows(SA906a$haplotypes, SA906b$haplotypes), bind_rows(SA906a$CN, SA906b$CN))
ascn <- callAlleleSpecificCNHMM(cnbaf, ncores = 12)

SA906atimepoint <- read_csv("metadata/fitness_other/SA906atimepoint.txt")
SA906btimepoint <- read_csv("metadata/fitness_other/SA906btimepoint.txt")
cells <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  mutate(cell_id = str_replace(single_cell_id, "SA906.-", "SA906-")) %>%
  dplyr::rename(clone_id = letters) %>%
  filter(str_detect(datatag, "SA906"))

SA906a$ASCN <- ascn %>%
  filter(cell_id %in% (filter(cells, datatag == "SA906a") %>% pull(cell_id)))

SA906b$ASCN <- ascn %>%
  filter(cell_id %in% (filter(cells, datatag == "SA906b") %>% pull(cell_id)))
library(ape)
source("R/tree_utils.R")
tree <- read.tree("metadata/fitness_material/trees/SA906a_tree.newick")
tree <- removeleafloci(tree)

clonesSA906a <- cell_order_from_tree(tree, cells %>% filter(datatag == "SA906a") %>%
                                    mutate(cell_id = str_replace(cell_id, "SA906", "SA906a")),
                                  cells = str_replace(unique(SA906a$ASCN$cell_id), "SA906", "SA906a"))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA906a$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA906a_1 <- plotHeatmap(SA906a$ASCN %>% mutate(cell_id = str_replace(cell_id, "SA906", "SA906a")), 
            clusters = clonesSA906a, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state",
            clone_pal = clone_pal)

heatmap_SA906a_2 <- plotHeatmap(SA906a$ASCN %>% mutate(cell_id = str_replace(cell_id, "SA906", "SA906a")), 
            clusters = clonesSA906a, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state_phase", 
            clone_pal = clone_pal)

5.1 Heatmaps

5.1.1 CN state

heatmap_SA906a_1

5.1.2 ASCN state

heatmap_SA906a_2

5.2 BAF plots per clone

CNclones <- SA906a$ASCN %>%
  left_join(., select(cells, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

5.2.1 Clone A

5.2.2 Clone B

5.2.3 Clone C

5.2.4 Clone D

5.2.5 Clone E

5.2.6 Clone F

5.2.7 Clone G

5.2.8 Clone H

5.2.9 Clone I

5.2.10 Clone J

5.2.11 Clone K

5.2.12 Clone Un

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA906a.csv")

6 SA906b

library(ape)
source("R/tree_utils.R")
tree <- read.tree("metadata/fitness_material/trees/SA906b_tree.newick")
tree <- removeleafloci(tree)

clonesSA906b <- cell_order_from_tree(tree, cells %>% filter(datatag == "SA906b") %>%
                                    mutate(cell_id = str_replace(cell_id, "SA906", "SA906b")),
                                  cells = str_replace(unique(SA906b$ASCN$cell_id), "SA906", "SA906b"))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA906b$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA906b_1 <- plotHeatmap(SA906b$ASCN %>% mutate(cell_id = str_replace(cell_id, "SA906", "SA906b")), 
            clusters = clonesSA906b, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state",
            clone_pal = clone_pal)

heatmap_SA906b_2 <- plotHeatmap(SA906b$ASCN %>% mutate(cell_id = str_replace(cell_id, "SA906", "SA906b")), 
            clusters = clonesSA906b, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state_phase",
            clone_pal = clone_pal)

6.1 Heatmaps

6.1.1 CN state

heatmap_SA906b_1

6.1.2 ASCN state

heatmap_SA906b_2

6.2 BAF plots per clone

CNclones <- SA906b$ASCN %>%
  left_join(., select(cells, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            state_phase = schnapps::Mode(state_phase),
            state_min = schnapps::Mode(state_min),
            BAF = median(BAF),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofileBAF(CNclones, cellid = cl))
  cat(' \n \n')
}

6.2.1 Clone A

6.2.2 Clone B

6.2.3 Clone C

6.2.4 Clone D

6.2.5 Clone E

6.2.6 Clone F

6.2.7 Clone G

6.2.8 Clone H

6.2.9 Clone I

6.2.10 Clone Un

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA906b.csv")

7 SA039

SA039 <- readRDS("data/SA039.Rdata")

cells_SA039 <- data.table::fread("metadata/fitness_material/tables/fitness_cell_assignment_feb07_2020.tsv") %>%
  as_tibble() %>%
  select(-V1) %>%
  dplyr::rename(clone_id = letters) %>%
  dplyr::rename(cell_id = single_cell_id) %>%
  filter(str_detect(datatag, "SA039"))

CN <- SA039$CN %>%
  filter(cell_id %in% cells_SA039$cell_id)

ascn <- CN
library(ape)
source("R/tree_utils.R")
tree <- read.tree("metadata/fitness_material/trees/SA039_tree.newick")
tree <- removeleafloci(tree)

clonesSA039 <- cell_order_from_tree(tree, cells_SA039,
                                  cells = unique(ascn$cell_id))

cols <- fread("metadata/fitness_material/tables/clone_colours.csv") %>%
  as_tibble() %>%
  filter(str_detect(datatag, "SA039$")) %>%
  distinct(colour, clone_id)
clone_pal <- c(cols$colour, "Black")
names(clone_pal) <- c(cols$clone_id, "Un")

heatmap_SA039_1 <- plotHeatmap(ascn, 
            clusters = clonesSA039, 
            plottree = F,
            reorderclusters = F,
            spacer_cols = 15, 
            plotcol = "state",
            clone_pal = clone_pal)

7.1 Heatmaps

7.1.1 CN state

heatmap_SA039_1

7.2 BAF plots per clone

CNclones <- ascn %>%
  left_join(., select(cells_SA039, clone_id, cell_id)) %>%
  group_by(chr, start, end, clone_id) %>%
  summarise(state = schnapps::Mode(state),
            copy = median(copy)) %>%
  ungroup() %>%
  mutate(cell_id = paste0("Clone ", clone_id))

for (cl in unique(CNclones$cell_id)){
  cat('###', cl,' \n')
  print(plotCNprofile(CNclones, cellid = cl))
  cat(' \n \n')
}

7.2.1 Clone A

7.2.2 Clone B

7.2.3 Clone C

7.2.4 Clone D

7.2.5 Clone E

7.2.6 Clone F

write_csv(CNclones %>% dplyr:: select(-cell_id), "results/BAFperclone/SA039.csv")